草庐IT

HA 模式

全部标签

c# - 你如何(单元)测试数据库模式?

当有很多人从事一个项目时,所有人都可以更改数据库模式,单元测试/测试/验证它的最简单方法是什么?到目前为止,我们的主要建议是为每个表编写测试以验证列名、约束等。有没有其他人做过类似/更简单的事情?我们将C#与SQLServer结合使用,如果这有任何真正的区别的话。更新:我们正在处理的项目部分使用SSIS包来完成大部分工作,因此只有很少的C#代码可以再次编写单元测试。用于创建表/存储过程的代码分布在SQL文件中。由于构建系统,我们也可以维护一个单独的VSDB项目文件,但我不确定这将如何帮助我们验证架构。 最佳答案 一个可能的答案是使用

c# - Teamcity 未在 Release模式下构建我的 .SLN

我使用“SLNRunner”在Teamcity6.5中为VS2008解决方案创建了一个发布配置项目。我的调试解决方案与PDB文件一起构建得很好——但是我根本无法在Release模式下构建它,而且它会坚持默认为x64架构。我尝试了以下方法:明确设置proj文件为Release模式设置构建参数以显式通过/platform:anycpu和/configuration:release发送到MSBuild我注意到在生成的.sln.proj文件中,以下代码似乎(乍一看)不正确,并且两种配置的配置都设置为Debug模式?DebugAnyCPUDebugAnyCPU感谢任何帮助:

c# - 仅在 IDE 之外的 Release模式下 x64 .NET 4.0 应用程序崩溃

所以,我的小测试应用程序遇到了一个非常奇怪的问题。就问题而言,我的意思是它崩溃了……很难。没有异常(至少,没有我能捕捉到的)被抛出,只是“BlahBlah已经停止响应......”消息。它仅当我在x64、Release模式和IDE之外运行应用程序时崩溃。如果我在x86模式下运行它,或者如果我在x64的IDE中运行它,或者我在x64中作为DEBUG独立运行它,它工作正常。我已将其缩小到我的p/invokePeekMessage调用。所以,我需要这里的聪明才智来查看我写的废话,并告诉我我做的是否正确。因为,说真的,我他妈的快要失去理智了。我在两台计算机上试过这个,它们都表现出相同的行为。我

c# - Presenter 是否在 MVP 模式中执行 GUI 逻辑?

我们正在使用MVP模式,我想知道如何处理GUI操作。例如,当用户想要从网格中删除一行时,用户按下删除按钮。此时你可以做两件事:1)调用_presenter.DeleteRow(),然后演示者调用_view.SelectedRow。然后演示者调用view.AskUserForConfirmation(),当它返回DialogResult.OK时,演示者实际上删除了底层对象并刷新了网格。2)表单要求用户确认,当DialogResult为OK时,调用presenter.Delete(myObject)或presenter.Delete()被调用,在Delete方法中通过调用_view.Sel

c# - 存储库模式 : Implementation and lazy loading of model relationships

我有一个处理产品和产品类别的应用程序。对于其中的每一个,我都有使用POCO定义的模型。//Representsaproduct.classProduct{publicvirtualintID{get;set;}publicvirtualstringName{get;set;}publicvirtualProductCategoryCategory{get;set;}}//Representsaproductcategory.classProductCategory{publicvirtualintID{get;set;}publicvirtualstringName{get;set;}

c# - 预留实例模式下 Azure 网站的新 Azure 分布式缓存

WindowsAzure(6月7日宣布)的其他重要新功能似乎缺少的是能够在预留实例模式下为网站集群的预留实例定义分布式缓存。到目前为止,似乎只能为独立的webroles或worker角色创建分布式缓存。有谁知道解决方法或知道这是否即将发生?我问这个问题的原因是因为它迫使我创建一个专门用于缓存的worker角色,而且由于我受到成本的限制,我负担不起另外三个用于缓存的实例。这给我留下了一个不容错的缓存服务,而实际上我托管网站的三个Webrole将是a)容错和b)可以为分布式缓存贡献足够的内存,这样我就可以在没有单点的情况下获得更大的缓存与单个缓存工作角色一样失败。

c# - 使用泛型实现类型安全的枚举模式

如何在泛型类上实现类型安全的枚举模式?让我们假设它是按照这些思路实现的publicclassKnownSetting{publicreadonlystaticKnownSettingName=newKnownSetting("name","DefaultName",t=>t);publicreadonlystaticKnownSettingSize=newKnownSetting("size","25",t=>Converter.ToInt32);publicStringKey{get;set;}publicTDefaultValue{get;set;}publicFuncConver

c# - 是否可以在不强制转换的情况下在 C# 中实现 "virtual constructor"模式?

我正在编写一个由C#编写的程序,该程序最终会被编译成一个应用程序。我希望每个生成的类型都提供一个“深度克隆”功能来复制整个数据树。也就是说,我希望有人能够做到:varx=newBase();//BasehaspublicvirtualBaseDeepClone(){...}vary=newDerived();//DerivedoverridesDeepCloneBasea=x.DeepClone();Baseb=y.DeepClone();//Derivedc=x.DeepClone();//ShouldnotcompileDerivedd=y.DeepClone();//Doesno

c# - 使用 var 或显式类型时模式匹配的不同行为

考虑以下乍一看很荒谬的模式匹配:strings=null;if(sisstringss)//falseif(sisstring)//false两者is都会返回false。但是,如果我们使用var,行为就会完全改变:strings=null;if(sisvarss)//true!?!如果在VS2017中将鼠标悬停在var上,类型是string但的行为是完全不同的。即使推断的类型相同,编译器也会做一些完全不同的事情。怎么会这样?这是一个错误吗?null类型是否以某种方式冒出? 最佳答案 C#语言引用确认行为是有意的。Apatternma

c# - 如何在 IE 保护模式下访问 AppData(从托管 BHO)

我正在用C#编写IE扩展(BHO)。当在保护模式下运行时(IE的新UAC兼容模式强制所有扩展以低完整性运行),它会失败,因为它无法访问appdata文件夹中的user.config。是否有某种方法可以标记文件可由完整性较低的进程读取?如果做不到这一点,是否有某种方法可以强制BHO以中等完整性运行?如果做不到这一点,是否有某种方法可以在指向AppData中的中等完整性文件的低完整性文件夹中创建低完整性符号链接(symboliclink)?如果做不到这一点,是否有某种方法可以强制应用程序使用LocalLow文件夹中的user.config文件?如何在.net中获取此文件夹的路径(它未在En